package com.hspedu.furns.dao;

import com.hspedu.furns.entity.Furn;

import java.util.List;

/**
 * @author 徐
 * @version 1.0
 */
public interface FurnDAO {
    /**
     * 返回所有家居信息，后期考虑分页
     * @return
     */
    public List<Furn> queryFurns();

    /**
     * 添加一条家居信息
     * @param furn
     * @return
     */
    public int addFurn(Furn furn);

    /**
     * 删除一条家居信息
     * @param id
     * @return
     */
    public int deleteFurnById(Integer id);

    /**
     * 根据id查询对应的家居信息
     * @param id
     * @return
     */
    public Furn queryFurnById(Integer id);

    /**
     * 根据id查询对应的家居信息
     * 然后可以进行修改信息
     * @return
     */
    public int updateFurn(Furn furn);

    /**
     * 老师分析：Page的哪些属性是可以直接从数据库中获取
     * 就把这个填充任务防在DAO层.
     * @return 返回家居信息总数
     */
    public int getTotalRow();

    /**
     * 获取当前页要显示得数据
     * begin : 表示从第几条记录开始获取， 从0开始计算
     * pageSize : 表示取出多少条记录
     * 比如:从第二个位置开始取,取3条
     * @return
     */
    public List<Furn> getPageItems(int begin, int pageSize);

    /**
     * 根据名字来获取总记录数
     * @param name
     * @return
     */
    public int getTotalRowByName(String name);

    /**
     * 根据begin, pageSize, 和name来获取要显示的家居信息
     * @param begin
     * @param pageSize
     * @param name
     * @return
     */
    public List<Furn> getPageItemsByName(int begin, int pageSize, String name);

    /**
     * 根据id返回家居的图片路径
     * 用于当修改图片时，删除老的家居图片信息
     * @param id
     * @return
     */
    public String getFurnImgPath(Integer id);

}
